package br.unirio.dsw.controle.dao;

import br.unirio.dsw.controle.dao.impl.MysqlAlbumDAO;
import br.unirio.dsw.controle.dao.impl.MysqlArtistaDAO;
import br.unirio.dsw.controle.dao.impl.MysqlComentariosAlbumDAO;
import br.unirio.dsw.controle.dao.impl.MysqlComentariosUsuarioDAO;
import br.unirio.dsw.controle.dao.impl.MysqlEstiloDAO;
import br.unirio.dsw.controle.dao.impl.MysqlLanceDAO;
import br.unirio.dsw.controle.dao.impl.MysqlMusicaDAO;
import br.unirio.dsw.controle.dao.impl.MysqlOfertaVendaDAO;
import br.unirio.dsw.controle.dao.impl.MysqlUsuarioDAO;

public class DAOFactory {
	private static DAOFactory _instance = null;

	private DAOFactory() { }

	public static DAOFactory getInstance() {
		if (_instance == null) {
			_instance = new DAOFactory();
		}
		return _instance;
	}
	
	public IAlbumDAO getAlbumDAO(){
		return new MysqlAlbumDAO();
	}
	
	public IArtistaDAO getArtistaDAO(){
		return new MysqlArtistaDAO();
	}

	public IEstiloDAO getEstiloDAO(){
		return new MysqlEstiloDAO();
	}

	public IMusicaDAO getMusicaDAO(){
		return new MysqlMusicaDAO();
	}

	public IUsuarioDAO getUsuarioDAO(){
		return new MysqlUsuarioDAO();
	}
	
	public IOfertaVendaDAO getOfertaVendaDAO(){
		return new MysqlOfertaVendaDAO();
	}
	
	public IComentariosAlbumDAO getComentariosAlbumDAO(){
		return new MysqlComentariosAlbumDAO();
	}
	
	public ILanceDAO getLanceDAO(){
		return new MysqlLanceDAO();
	}
	
	public IComentariosUsuarioDAO getComentariosUsuarioDAO(){
		return new MysqlComentariosUsuarioDAO();
	}
}
